const http = require('http')

// 创建服务
const server = http.createServer((request, response) => {

  // 判断如果是图标 自动忽略
  if(request.url != '/favicon.ico'){
    console.log('method', request.method) // 请求方式 GET/POST
  }

  // console.log('headers', request.headers) // 所有的请求头对象
  console.log('url',  request.url) // 请求地址  (不带基础地址, 带query参数)

  // 获取请求参数
  // query参数(也叫搜索参数)  request.url: /login?username=a&pwd=b
  const { pathname, searchParams } = new URL(request.url, 'http://localhost:8080')

  console.log(pathname,searchParams)  
  // pathname 是 请求路径 /login    searchParams 就是query参数

  // 分别取出来 具体的参数 (username和pwd)
  const username = searchParams.get('username')
  const pwd = searchParams.get('pwd')
  console.log('username pwd 分别是', username, pwd)
 
  // body参数
  // 绑定一个监听事件 事件名是data
  request.on('data', (buffer) => {
    console.log('请求体数据', buffer.toString())
  })

  // 设置响应状态码
  response.statusCode = 201 // 200--299都代表成功
  // 设置响应头
  response.setHeader('Content-Type', 'text/html;charset=utf-8')
  // 设置响应体

  response.end('<h1 style="color: red;">我是响应标题!</h1>')
})

// 启动服务
server.listen(8080, () => {
  console.log('启动服务成功: http://localhost:8080')
})